The invention relates generally to caching management operations in data storage systems.
Mass storage systems typically employ a large number of storage devices, such as disk drives, that are accessible by one or more host processors or computers. Since reading and writing to disks is still a relatively slow operation, many data storage systems use a cache memory to speed up the transfer of information to/from the disks. In such systems, the host computers interact with the cache memory on all transfers to and from storage devices. For example, if data is modified by a host computer, the modified data is written to cache memory, and later written back to disk (the latter operation often being referred to “destaging”). In the case of new write data or read misses, a cache slot for storing the data must be selected.
Typically, one or more data structures are maintained to indicate a cache slot ordering preference according to a cache slot replacement algorithm, such as a “Least Recently Used” algorithm, as well as write pending information to protect cached data that has not been destaged yet.
Accessing and updating such data structures can be a time-consuming process, for example, it may require extensive pointer manipulations, causing data storage system performance to suffer.